package boot.exception;

import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;

/**
 * @Author: zhiyu
 * @Date:14:22
 * @DESC:
 *  * 方式三: @ResponseStatus+自定义异常
 *  *  底层:
 *  *      1.底层是 ResponseStatusExceptionResolver支持的
 *  *      2.把responsestatus注解的信息底层调用response.sendError(statusCode, resolvedReason)；
 *  *      3.最后交给tomcat发送的/error --精确匹配页面 /error/403.html --> 模糊匹配 /error/4xx.html -->若未匹配则由空白页显示
 *  *
 *  *  注解@ResponseStatus 使用在自定义异常类型
 *  *      1.code属性:状态码对象HttpStatus
 *  *      2.reason属性：异常信息
 *  *          2.1 若reason写 抛出自定义异常时 调用的是无参构造方法 最终显示的是错误信息就是 reason的属性值
 *  *          2.2 若reason不写 抛出自定义异常时 调用的是带参构造方法 最终显示的是错误信息就是 new CustomException(String message)
 *  *
 *  *  使用场景：适合 对自定义异常 绑定响应码+ 异常处理页面来做渲染
 */
@ResponseStatus(code = HttpStatus.FORBIDDEN,reason = "客户端无此权限访问")
public class CustomException extends Exception{
    public CustomException() {

    }

    public CustomException(String message) {
        super(message);
    }
}
